function aesHexDecrypt(src) {
	var key = CryptoJS.enc.Utf8.parse("fb18fc197e644d38");
	var encryptedBase64Str = CryptoJS.enc.Base64.stringify(src);
	 
    var decryptedData = CryptoJS.AES.decrypt(encryptedBase64Str, key, {
    	mode : CryptoJS.mode["ECB"],
		padding: CryptoJS.pad["Pkcs7"],
    });
 
    var decryptedStr = decryptedData.toString(CryptoJS.enc.Utf8);

	return decryptedStr;
}

Date.prototype.format = function(format) {
       var date = {
              "M+": this.getMonth() + 1,
              "d+": this.getDate(),
              "h+": this.getHours(),
              "m+": this.getMinutes(),
              "s+": this.getSeconds(),
              "q+": Math.floor((this.getMonth() + 3) / 3),
              "S+": this.getMilliseconds()
       };
       if (/(y+)/i.test(format)) {
              format = format.replace(RegExp.$1, (this.getFullYear() + '').substr(4 - RegExp.$1.length));
       }
       for (var k in date) {
              if (new RegExp("(" + k + ")").test(format)) {
                     format = format.replace(RegExp.$1, RegExp.$1.length == 1
                            ? date[k] : ("00" + date[k]).substr(("" + date[k]).length));
              }
       }
       return format;
};

Number.prototype.toDateString = function(){
	var date = new Date();
	date.setTime(this);
	return date.format('yyyy-MM-dd h:m:s');
};

Number.prototype.toFloat = function(decimal){
	var f = parseFloat(this);    
    if (isNaN(f)) {    
        return false;    
    }    
    var f = Math.round(this*100)/100;    
    var s = f.toString();    
    var rs = s.indexOf('.');    
    if (rs < 0) {    
        rs = s.length;    
        s += '.';    
    }    
    while (s.length <= rs + 2) {    
        s += '0';    
    }    
    return s;    
};

/**
 * null 返回true，否则返回false
 * 
 * @param value
 * @returns {Boolean}
 */
function isNull(value) {
	if(value==null||value==""||value=="undefined"||value=="null"){
		return true;
	}
	return false;
}

function isPhoneNo(phone){
	 if(!(/^1\d{10}$/.test(phone))){
		 return false;
	 }
	 return true;
}

function addOrUpdate(title,url,width,height) {
	layer_show(title,url,width,height);
}



//把公共的设置项都放在这里，就不需要每个页面都设置一遍了，放在jQuery对象上是为了避免污染全局变量
var TABLE_CONSTANT = {
      DATA_TABLES : {
          DEFAULT_OPTION : { //DataTables初始化选项
              language: {
                  "sProcessing":   "处理中...",
                  "sLengthMenu":   "每页 _MENU_ 项",
                  "sZeroRecords":  "没有匹配结果",
                  "sInfo":         "当前显示第 _START_ 至 _END_ 项，共 _TOTAL_ 项。",
                  "sInfoEmpty":    "当前显示第 0 至 0 项，共 0 项",
                  "sInfoFiltered": "(由 _MAX_ 项结果过滤)",
                  "sInfoPostFix":  "",
                  "sSearch":       "搜索:",
                  "sUrl":          "",
                  "sEmptyTable":     "表中数据为空",
                  "sLoadingRecords": "载入中...",
                  "sInfoThousands":  ",",
                  "oPaginate": {
                      "sFirst":    "首页",
                      "sPrevious": "上页",
                      "sNext":     "下页",
                      "sLast":     "末页",
                      "sJump":     "跳转"
                  }
              },
              autoWidth: false,   //禁用自动调整列宽
              stripeClasses: ["odd", "even"],//为奇偶行加上样式，兼容不支持CSS伪类的场合
              order: [],          //取消默认排序查询,否则复选框一列会出现小箭头
              processing: true,  //隐藏加载提示,自行处理
              serverSide: true,   //启用服务器端分页
              searching: false,   //禁用原生搜索
  			ordering:false, //是否开启字段排序
  			lengthChange:false, //是否允许用户修改每页数据的数量
  			pagingType: "full_numbers"
          }
      }
};

$.extend($.validator.messages, {
    required: "这是必填字段",
    remote: "请修正此字段",
    email: "请输入有效的电子邮件地址",
    url: "请输入有效的网址",
    date: "请输入有效的日期",
    dateISO: "请输入有效的日期 (YYYY-MM-DD)",
    number: "请输入有效的数字",
    digits: "只能输入数字",
    creditcard: "请输入有效的信用卡号码",
    equalTo: "你的输入不相同",
    extension: "请输入有效的后缀",
    maxlength: $.validator.format("最多可以输入 {0} 个字符"),
    minlength: $.validator.format("最少要输入 {0} 个字符"),
    rangelength: $.validator.format("请输入长度在 {0} 到 {1} 之间的字符串"),
    range: $.validator.format("请输入范围在 {0} 到 {1} 之间的数值"),
    max: $.validator.format("请输入不大于 {0} 的数值"),
    min: $.validator.format("请输入不小于 {0} 的数值")
});

